<?php
  /*
    使用list 和 foreach操作数组
      foreach就不说了  基本所有的语言里面都会有的方法 是用来操作数组的

      list 就和 JS的解构赋值是一个概念
  */ 
  $arr = ['jimmy','xuexue','xiaotu'];
  list($a,$b,$c) = $arr;
  echo $a.'-',$b.'-'.$c;  # jimmy-xuexue-xiaotu
  list(,,$f) = $arr;  /* 当我们明确的知道个数，且明确知道不需要用到其他的值的时候 可以直接使用都好忽略  省去定义一个变量的空间 */ 
  echo $f;  #  xiaotu
  /*
    注意以上是只有在索引数组中 用法和 js的解构赋值是一样的   在关系数组中用法稍有不同
  */ 
  $lesson = [
    'name'=>'Jimmy',
    'age'=>22,
    'sex'=>'mail'
  ];
  list('name'=>$a,'age'=>$b,'sex'=>$c) = $lesson;  # 关系数组需要将关系名 也就是 键名写写出来
  echo($a);  # Jimmy

  $course = [
    ['courseNmae'=>'Vue.js','price'=>199],
    ['courseNmae'=>'Node.js','price'=>299],
    ['courseNmae'=>'php','price'=>399],
  ];
  foreach($course as $item){
    print_r($item); # Array ( [courseNmae] => Vue.js [price] => 199 ) Array ( [courseNmae] => Node.js [price] => 299 ) Array ( [courseNmae] => php [price] => 399 )
  }
  /*
    在php和的foreach方法中 很多顺序方法虽然和js都大径相同  但是有一些细节是不同的  比如变量的位置  
      php中的foreach 第一个变量是要遍历的数组 第二个变量才是数组的每一项  
        而在JS中 第一个变量是遍历的每一项 第二个变量才是原数组

    这种顺序已经出现好几次了  前民数组的  implode() 和 explode() 就是分别先放截取的关键字 再放被截取的对象
  */ 
  
  
